कभी-कभी क्रॉस (पिवट) टेबल को फ्लैट में बदलने की आवश्यकता होती है। इस प्रक्रिया को "कहा जाता है डेटा सीधा करना "
प्रोग्राम LibreOffice Calc में पिवट तालिकाओं को "में परिवर्तित करने के लिए कोई मानक कार्यक्षमता नहीं है समतल ", लेकिन आप संबंधित प्रक्रिया स्वयं लिख सकते हैं। आइए देखें कि यह कैसे करना है।
आइए समस्या के सार को अधिक स्पष्ट रूप से समझने के लिए नीचे दी गई तस्वीर देखें। बाईं ओर हमारे पास मैट्रिक्स (पिवट टेबल) के रूप में एक तालिका है, और दाईं ओर - कॉलम (फ्लैट टेबल) के साथ एक नियमित तालिका:
जब आप किसी तालिका का विस्तार करते हैं, तो आप विशेषता-मूल्य जोड़ी को अनपैक करते हैं जो मैट्रिक्स तालिका में स्तंभों का प्रतिच्छेदन होता है और उन्हें समतल तालिका में चपटे स्तंभों में पुन: उन्मुख करते हैं:
मेनू खोलें Tools - Macros - Edit Macros..., Module1 चुनें और निम्नलिखित पाठ को मॉड्यूल में कॉपी करें:
Sub UnPivotTable
' moonexcel.com.ua
Dim oBook As Object
Dim oActiveSheet As Object
Dim oSelRange As Object
Dim oNewSheet As Object
Dim i As Long
Dim iTopLabelRowCount As Integer
Dim iSideLabelColCount As Integer
oBook = ThisComponent
oActiveSheet = oBook.CurrentController.ActiveSheet
oSelRange = oBook.CurrentSelection
' एक नई शीट जोड़ें
oBook.Sheets.insertNewByName("UnPivoted Table",0)
oNewSheet = oBook.Sheets(0)
' हेडर का आकार निर्धारित करें
iTopLabelRowCount = InputBox(" शीर्ष शीर्षलेख में कितनी पंक्तियाँ हैं? ")
iSideLabelColCount = InputBox(" साइड हेडर में कितने कॉलम हैं? ")
i = 0
For r = (iTopLabelRowCount + 1) To oSelRange.Rows.Count
For c = (iSideLabelColCount + 1) To oSelRange.Columns.Count
For j = 1 To iSideLabelColCount
oNewSheet.getCellByPosition(j-1, i).Formula = oSelRange.getCellByPosition(j-1, r-1).Formula
Next j
For k = 1 To iTopLabelRowCount
oNewSheet.getCellByPosition(j + k - 2, i).Formula = oSelRange.getCellByPosition(c-1, k-1).Formula
Next k
oNewSheet.getCellByPosition(j + k - 2, i).Formula = oSelRange.getCellByPosition(c-1, r-1).Formula
i = i + 1
Next c
Next r
End Sub
फिर, Macro Editor को बंद करें और LibreOffice Calc में अपनी वर्कशीट पर वापस लौटें। शीर्ष और बाएँ शीर्षलेखों के साथ संपूर्ण तालिका का चयन करें और मेनू Tools - Macros - Run Macro... के माध्यम से हमारा नया मैक्रो चलाएँ।
मैक्रो आपकी कार्यपुस्तिका में एक नई नामित शीट सम्मिलित करेगा
आप उपयोगिता का भी उपयोग कर सकते हैं "पिवट टेबल (Unpivot)" एक्सटेंशन इंस्टॉल करके YLC_Utilities.oxt .
उसके बाद, यह उपयोगिता उन सभी फ़ाइलों में उपलब्ध होगी जो LibreOffice Calc में खोली जाएंगी।